#include <iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int a[N];
void quick_sort(int a[],int l,int r)
{
    //结束条件
    if(l>=r)
        return;

    //简单错误之一：int x=a[l+r>>1],i=l,j=r;
    int x=a[l+r>>1],i=l-1,j=r+1;
    while(i<j)
    {
        do i++; while(a[i]<x);      //找大
        do j--; while(a[j]>x);      //找小
        if(i<j) swap(a[i],a[j]);
    }
    quick_sort(a,l,i);      //这里i=j怎么整不行
    quick_sort(a,i+1,r);
}
int main() 
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++) cin>>a[i];

    quick_sort(a,0,n-1);
    for(int i=0;i<n;i++) cout<<a[i]<<" ";

    return 0;
}